www.gusucode.com > LTE基带收发仿真系统matlab源码程序 > LTE baseband simulation/zf_detect.m

    function xEst = zf_detect(r,H)
% ZF vblast 接收机 带有干扰抵消
% 输入:r:接收到的信号
%       H:频域信道矩阵
%       SNRdB:SNR 单位dB
% 输出:估计的符号

%  Author:		程式小组(徐萌 张妙 张晓庆)
%  Date:		2010-07-11
%  ==========================================================
[nRx,nTx] = size(H);
hSave = H;
G=pinv(H);
[gk k0]=min(sum(abs(G).^2,2));

w = zeros(nTx,nRx);
k1 = zeros(nTx,1);
xEst = zeros(nTx,1);

for m=1:nTx     
    
    k1(m)=k0;
    w(m,:)=G(k1(m),:);
    y=w(m,:)*r;
    xEst(k1(m),1)=y;
    r = r - xEst(k1(m)) * hSave(:, k1(m));
    H(:,k0)=zeros(nRx,1);
    G=pinv(H);
    for t=1:m
        G(k1(t),:)=inf;
    end
    [gk k0]=min(sum(abs(G).^2,2));
end